The present invention relates to wireless data transmission, in particular to the processing of connections in the gateway of the WAP system (Wireless Application Protocol) and of other similar wireless systems.
Wireless communication networks and the Internet network are expanding rapidly and the number of persons using these is also on the increase. The importing of Internet contents and sophisticated data services in digital mobile stations, so-called media telephones, can be implemented using the WAP technology or Nokia's Smart Messaging technology, for example. Although the example referred to below concerns the WAP system, this presentation also applies to other similar systems (Nokia Smart Messaging etc.), which are used to import Internet contents in wireless terminals. Contents that conform to the WAP technology and that have been imported in wireless terminals are generally known as the WAP content. The WAP technology utilises parts of the existing standards. In addition, it comprises own solutions optimised for use with wireless networks. The aim is to support a maximally large number of wireless digital telecommunication networks on a global scale. As the WAP system was developed only recently and as the specifications of the said system in some cases only define the framework for different types of implementation, no solutions are known to exist for implementing certain parts of the system.
The WAP system is based on the joint operation of three components, that is, the WAP terminal 10, the WAP gateway and the origin server 12 (FIG. 1). Correspondingly, the Nokia Smart Messaging centre comprises a gateway between the terminal and the origin server, one of the product versions of the said gateway being termed Nokia Artus Messaging Platform. To browse WAP contents, the user has access to the wireless WAP terminal 10 which comprises a WAP browser as the user interface, a micro browser, or some other WAP application that can be used in a WAP terminal. The said WAP terminal can be any appliance, which uses the WAP protocol for external communications. The WAP browser is analogous with the web browser.
When the user wants to receive a certain WAP content to his terminal, an effectively encoded request 13 first moves through the radio path to the WAP gateway 11. The said gateway, which comprises coders and decoders, is capable of converting information that conforms to the WAP protocol, such as a WSP (Wireless Session Protocol), to information that conforms to the Internet protocol, such as the HTTP protocol (HyperText Transfer Protocol), and vice versa. Once the gateway receives the aforementioned request from the WAP terminal, it converts it to the request 14, which conforms to the Internet protocol, and sends it to the origin server 12 in which the desired WAP content is located.
The WAP content 15, which is obtained from the origin server as a response to the above request and which can be a WML document (Wireless Markup Language) or WML script document, is sent to the WAP gateway 11 which converts the information that conforms to the Internet protocol to information that conforms to the WAP protocol, such as the WSP protocol. Correspondingly, a HTML document (Hyper Text Markup Language), for example, is converted to a TTML document (Tagged Text Markup Language) in the gateway of the Nokia Smart Messaging system. Next, the gateway 11 sends the WAP content 16, which is effectively coded for the radio path, to the WAP terminal 10. It should be noted that there are typically a number of elements between the WAP gateway and the radio interface in the GSM network (Global System for Mobile communication), for example. The said elements are usually appliances which are located in a mobile services switching centre, a base station controller or a base transceiver station. In the GSM network, the WAP gateway can be connected to the mobile services switching centre or a short message service centre. The WAP gateway can be perceived as being functionally coupled with the radio interface.
The block diagram of the WAP gateway 11 is shown in FIG. 2. The gateway comprises the WAP protocol stack 20 which comprises hierarchical WAP protocol layers of which the lowermost WDP layer (Wireless Datagram Protocol) communicates with the wireless network 21. In addition, the gateway comprises the gateway applications 23 in which the requests obtained from the WAP protocol layers and the responses received from the origin servers are processed. The gateway applications normally use a different memory (MEMORY B) 22 than does the WAP protocol stack 20, the memory (MEMORY A) 24 of which contains separate storage blocks reserved for use by different protocol layers.
Physically the gateway can be located in the information network of a telecommunications company. One telecommunications company typically only has one or several WAP gateways each of which serves a large number of customers who utilise WAP services.
Each WAP terminal application typically has at least one session with the WAP gateway, which session should be known to the WAP gateway, that is, stored in its ROM or RAM. The session denotes here communication-related shared information known to both the connection parties, here, the WAP terminal and the WAP gateway. The initiative for opening the session is obtained from the WAP terminal, which terminal typically also launches an initiative for terminating the session. As there may be more than one million sessions to one WAP gateway simultaneously, the problem is the ability of the gateway to handle the enormous quantity of requests, which are obtained from terminals, without becoming jammed. There may be a number of requests during one session.
As for its protocols, the WAP system is hierarchical (FIG. 3). The protocol comprises information on the forms of data transmission and on the rules that govern traffic and behaviour in data transmission.
The uppermost layer, the WAE layer 30 (Wireless Application Environment), is not actually a WAP protocol layer, but a broad application environment which is based on WWW (World Wide Web) and mobile station technologies. Below the said WAE layer in the hierarchy lies the uppermost actual protocol layer of the WAP protocol stack, the WSP (Wireless Session Protocol, which comprises session-related services connected with making browser application requests, for example.
The WTP 32 (Wireless Transaction Protocol) below the WSP layer is responsible for reliable data transmission, for example. The WTLS layer 33 (Wireless Transport Layer Security) below the WTP layer contains optional services which are connected with the safety of data communications and which the various applications can choose. The lowermost protocol layer, the WDP layer 34 (Wireless Datagram Protocol), in the WAP protocol stack acts above the bearers intended for information transmission in each network, such as the GSM network or the CDMA network (Code Division Multiple Access). Bearers of this kind include short messages (SMS, Short Message Services), data calls (CSD, Circuit Switched Data), packet radio services (GPRS, General Packet Radio Service) and other bearers, which are defined in the WAP specifications. Bearers are occasionally also called data carriers (bearers) or trails.
The services and applications 36 that utilise the WAP protocol stack do not necessarily have to use all the protocol layers. Thus an application can, for example, only utilise the lowermost WDP layer through a well-defined interface.
The WAP layers in the WAP gateway implementation are parts of a computer program, which is stored in the memory of the gateway. Communication between the layers takes place through the protocol messages 40 (FIG. 4). Typically the upper layer uses the services of the lower layer. The request usually moves in the WAP gateway between layers 31–34 in the protocol stack from down to up, whereas the response moves in the opposite direction. Traffic between the protocol layers is controlled and administered by the control unit 41 (broker).
According to WAP specifications, the messages that move inside the WAP system should refer to the address data of the connection concerned. In other words, e.g. a protocol message which moves between the WAP layers should contain connection address data so that when the said message enters a protocol level, these address data are stored in the said protocol layer. Such keeping of the address data in the WAP layers is a waste of resources, however, which in practise requires a large memory capacity and expensive hardware.